interface FormItemProps {
  /** 广告账号ID */
  id?: number;
  /** 账号 */
  account_no: string;
  /** 代理商ID */
  ad_agent_id?: number;
  /** 备注 */
  remark?: string;
  /** 创建者ID */
  creator_id?: number;
  /** 创建时间 */
  created_at?: string;
  /** 更新时间 */
  updated_at?: string;
}

interface FormProps {
  formInline: FormItemProps;
}

// 广告代理商类型定义
interface AdAgentItem {
  /** 代理商ID */
  id?: number;
  /** 平台 1=TikTok 2=Facebook */
  platform: number;
  /** 代理商名称 */
  name: string;
  /** 平台文本 */
  platform_text?: string;
  /** 创建者ID */
  creator_id?: number;
  /** 创建时间 */
  created_at?: string;
  /** 更新时间 */
  updated_at?: string;
}

interface AdAgentFormProps {
  formInline: AdAgentItem;
}

// 平台选项类型
interface PlatformOption {
  value: number;
  label: string;
}

// 代理商选项类型
interface AgentOption {
  value: number;
  label: string;
  platform: number;
  platform_text: string;
}

// API响应类型
interface ApiResponse<T = any> {
  code: number;
  message: string;
  data: T;
}

// 分页响应类型
interface PaginatedResponse<T = any> {
  data: T[];
  current_page: number;
  per_page: number;
  total: number;
  last_page: number;
}

// 用户类型定义
interface UserItem {
  /** 用户ID */
  id: number;
  /** 用户名 */
  username: string;
  /** 邮箱 */
  email?: string;
  /** 关联时间 */
  created_at?: string;
}

// 用户选项类型
interface UserOption {
  value: number;
  label: string;
}

// 用户管理表单类型
interface UserManageFormProps {
  user_ids: number[];
}

export type { 
  FormItemProps, 
  FormProps, 
  AdAgentItem, 
  AdAgentFormProps,
  PlatformOption,
  AgentOption,
  ApiResponse,
  PaginatedResponse,
  UserItem,
  UserOption,
  UserManageFormProps
};
